HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //usr/share/augeas/lenses/dist/sysctl.aug
(*
Module: Sysctl
  Parses /etc/sysctl.conf and /etc/sysctl.d/*

Author: David Lutterkort <lutter@redhat.com>

About: Reference

About: License
   This file is licenced under the LGPL v2+, like the rest of Augeas.

About: Lens Usage
   To be documented

About: Configuration files
   This lens applies to /etc/sysctl.conf and /etc/sysctl.d/*. See <filter>.

About: Examples
   The <Test_Sysctl> file contains various examples and tests.
*)

module Sysctl =
autoload xfm

(* Variable: filter *)
let filter = incl "/boot/loader.conf"
           . incl "/etc/sysctl.conf"
           . incl "/etc/sysctl.d/*"
           . excl "/etc/sysctl.d/README"
           . excl "/etc/sysctl.d/README.sysctl"
           . Util.stdexcl

(* View: comment *)
let comment = Util.comment_generic /[ \t]*[#;][ \t]*/ "# "

(* View: entry
   basically a Simplevars.entry but key has to allow some special chars as '*' *)
let entry =
     let some_value = Sep.space_equal . store Simplevars.to_comment_re
  (* Rx.word extended by * and : *)
  in let word = /[*:\/A-Za-z0-9_.-]+/
  (* Avoid ambiguity in tree by making a subtree here *)
  in let empty_value = [del /[ \t]*=/ "="] . store ""
  in [ Util.indent . key word
            . (some_value? | empty_value)
            . (Util.eol | Util.comment_eol) ]

(* View: lns
     The sysctl lens *)
let lns = (Util.empty | comment | entry)*

let xfm = transform lns filter